#define _CRT_SECURE_NO_WARNINGS 1
#include "BSTree.hpp"
void test1()
{
	//int a[] = {8, 3, 1, 10, 6, 4, 7, 14, 13};
	BSTree<int> t;
	t.Insert(8);
	t.Insert(3);
	t.Insert(1);
	t.Insert(10);
	t.Insert(6);
	t.Insert(4);
	t.Insert(7);
	t.Insert(14);
	t.Insert(13);
	t.Inorder();
	cout << t.BSTreeFind(13) << endl;
}
void test2()
{
	BSTree<int> t;
	t.Insert(8);
	t.Insert(3);
	t.Insert(1);
	t.Insert(10);
	t.Insert(6);
	t.Insert(4);
	t.Insert(7);
	t.Insert(14);
	t.Insert(13);
	t.Inorder();
	cout << endl;
	t.Erase(7);
	t.Inorder();
	cout << endl;
	t.Erase(10);
	t.Inorder();
	cout << endl;
	t.Erase(6);
	t.Inorder();
	cout << endl;
	t.Erase(14);
	t.Inorder();
	cout << endl;
	t.Erase(8);
	t.Inorder();
	cout << endl;
	t.Erase(3);
	t.Inorder();
	cout << endl;
}

void test3() {
	BSTree<int> t;
	int a[] = {8, 3, 1, 10, 6, 4, 7, 14, 13};
	for (auto e : a)
	{
		t.InsertR(e);
	}
	t.Inorder();
	cout << endl;
	/*t.Erase(8);
	t.Inorder();
	*/
	for (auto e : a)
	{
		//cout << e << endl;
		t.EraseR(e);
		t.Inorder();
		cout << endl;
	}
	//cout << t.FindR(15) << endl;



}
void test4()
{
	BSTree<int> t;
	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
	for (auto e : a)
	{
		t.Insert(e);
	}
	t.Inorder();
	BSTree<int> t1(t);
	t1.Inorder();

} 
int main()
{
	test4();



	return 0;
}